package com.abl.core.domain.db;

import com.abl.core.mybatis.config.FieldInsert;
import com.abl.core.mybatis.config.FieldSet;
import com.abl.core.mybatis.config.FieldUpdate;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 会议室信息
 */
@Data
@Table(value = "mt_room", onUpdate = FieldUpdate.class, onInsert = FieldInsert.class, onSet = FieldSet.class)
public class MtRoom extends ZBEntity implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    //    会议室标题
    private String title;

    //    会议室描述
    private String content;

    //    房主ID
    private String userId;

    //    会议号
    private String mtCode;

    //    入会密码
    private String inPassword;

    //    允许主持人不在时进入会议；0=允许；1=不允许；
    private String isBeforeIn;

    //    主持人是否在会议中；0=在；1=不在
    private String compereStatus;

    //    入会类型；0=无限制；1=指定用户可以参会；
    private String inType;

    //    允许制定用户参会（逗号分隔字符串）
    private String passInUserIds;

    //    入会后自动静音；0=自动开麦；1=自动静音；
    private String isInMute;

    //    会议实际开启时间
    private LocalDateTime openTime;

    //    会议实际关闭时间
    private LocalDateTime closeTime;

    //    定时强制关闭时间
    private LocalDateTime closeSettingTime;

    //    当前会议状态；0=已开启；1=已关闭；默认为0
    private String meetingStatus;

    //参数：推流连接
    @Column(ignore = true)
    private String pushUrl;

}
